package com.estagio.entity;

import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;

@Entity
@Table (name="pais")
public class Pais {

	@Id
	@SequenceGenerator(name="pais_id", sequenceName="pais_id_seq",allocationSize=1,initialValue = 1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="pais_id" )
	private Integer idPais;
	@Column(length=40)
	private String descricao;
	private String sigla;
	private String ddi;
	
	@OneToMany(cascade=CascadeType.ALL, mappedBy="pais", fetch = FetchType.EAGER)
	@Fetch(FetchMode.SUBSELECT)
	private List<Estado> listEstado;
	
	public Integer getIdPais() {
		return idPais;
	}
	public void setIdPais(Integer idPais) {
		this.idPais = idPais;
	}
	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	public String getSigla() {
		return sigla;
	}
	public void setSigla(String sigla) {
		this.sigla = sigla;
	}
	public String getDdi() {
		return ddi;
	}
	public void setDdi(String ddi) {
		this.ddi = ddi;
	}
	public List<Estado> getListEstado() {
		return listEstado;
	}
	public void setListEstado(List<Estado> listEstado) {
		this.listEstado = listEstado;
	}
	
	
}
